1.6.4 性能测试

1. 压力测试工具

E聊提供了jmeter压力测试工具以及压测脚本,可用用其测试客户端消息的收发延时。

E聊社区版后端版本: v1.10+

jmeter版本: 5.41

jmeter下载地址: 链接:https://pan.baidu.com/s/1AoynGRl9Z_Ov_KbS_kVPcg 提取码:pp43

2. 使用步骤

2.1 启动后端项目

java -jar server-community-deploy-1.0.jar

2.2 启动jmeter

./jmeter.bat

启动后界面如下图: 总览图

2.3 导入jmeter压测配置

选择菜单栏"File"->"Open", 打开apache-jmeter-5.4.1下的echatim压测_线程组1.jmx配置文件。 总览图

2.4 修改压测配置

总览图

在Thread Properties输入项下可以设置该测试下最大启动的线程数量(Number of Threads), 模拟多用户同时访问的情况。

在用户定义的常量下, 需要配置以下常量:

APP_KEY: APP KEY
ADMIN_USER_AUID: 任意一个顾客用户auid(以自己的数据库记录为准)
ADMIN_USER_TOKEN: 任意一个顾客用户密码(以自己的数据库记录为准)
SERVER_HOST: 服务端host
SERVER_HTTP_PORT: 服务端HTTP端口
SERVER_SOCKETIO_PORT: 服务端socket.io端口

2.5 启动压测

选择菜单栏"Run"->"Start"(或点击菜单栏绿色的启动按钮), 点击"查看结果树", 可以跟踪到测试结果。

2.6 压测结果汇总

压测结果保存到一个SQLite格式数据库文件上,你可以使用Navicat 等可视化数据管理工具来查看压测结果。

压测结果

使用Navicat等工具打开echat_test_plan.db数据库文件,打开records表。

压测结果

echat_test_plan.db记录了每个jmeter线程发送即时消息的时延,下面是字段相关说明:

client_send_time: 客户端消息发送时间撮(毫秒)
server_time: 服务端接受到消息的时间撮(毫秒)
client_receive_time: 客户端接受到消息的时间撮(毫秒)
client_server_delay: 消息从客户端到服务端的时延(毫秒, 计算:server_time - client_send_time)
server_client_delay: 消息从服务端到客户端的时延(毫秒, 计算:client_receive_time - server_time)

results matching ""

    No results matching ""